草庐IT

JavaScript BDD : Vows & Kyuri Vs. Jasmine

全部标签

javascript - 在 Javascript 闭包中访问 'this'

这更像是一种完整性检查。我发现在Javascript中使用闭包时,我经常使用以下模式从函数内部访问封闭类:MyClass.prototype.delayed_foo=function(){varself=this;setTimeout(function(){self.foo();//BeniceifIcoulduse'this'here},1000);};显然这工作得很好,而且使用起来也不是什么大麻烦。我脑子里有个小痒痒在说“你把事情搞得太复杂了,笨蛋!”这是普遍接受的模式吗? 最佳答案 这是普遍接受的模式,但通常使用that而不是

javascript - 插入或拖动后重新索引对象数组的算法 'n' 放置顺序更改

假设我有一个对象的索引数组,例如包含流行民歌台词的对象;)varlyrics=[{line:2,words:"He'salumberjackandhe'sokay"},{line:1,words:"I'malumberjackandI'mokay"},{line:3,words:"Hesleepsallnightandheworksallday"}];我的比较器将根据每个对象的索引在View中显示对象。我希望能够在此阵列上执行三个任务:任务1)在拖放时重建索引通过拖放重新排列对象的顺序。假设我已经知道如何实现拖放。任务示例:将“He'salumberjackandhe'sokay”从索

javascript - typeof foo ['bar' ] !== 'undefined' 与 foo 中的 'bar'

这两个表达式的返回值有什么区别...表达式1:typeoffoo['bar']!=='undefined'表达式2:'bar'infoo...假设满足这些条件:foo是一个对象,foo不包含任何显式设置了值undefined的属性。 最佳答案 第一个测试foo中bar的值。第二个测试foo中是否存在bar属性。varfoo={bar:undefined};typeoffoo['bar']!=='undefined';//false'bar'infoo;//true编辑:为了从下面的评论中添加一些说明,OP遇到的问题是访问window

javascript - Closure 编译器 - a++ >= 3 可以变成++a > 3 吗?

我承认几天前我问了一个问题,为什么ClosureCompiler不缩短某些代码,乍一看,这个代码是可以缩短的,但这个原因不适用于这种情况,我不太确定为什么会这样'在此缩短。我的代码是:vara=0;functionb(){returna++>=3;}现在有前置递增和后置递增。不同之处在于返回值-a++返回a并且然后递增它,++a首先递增a和then返回它。这归结为我的代码可以缩短为(忽略空格删除):vara=0;functionb(){return++a>3;}但是,ClosureCompiler似乎并没有改变(或识别)这一点。因此我的问题是:当使用++a>代替a++>=时会有什么副作

javascript - Paul Irish 'duck punching' 模式观察

我对我在PaulIrish的博客上第一次遇到的“打鸭子”模式有疑问。我得到了一般前提...将引用保存到现有函数,然后用条件分支替换现有函数,如果满足条件,则调用新函数,否则调用旧版本。我的问题是为什么我们在调用_old函数时必须使用带有“this”的“apply”作为第一个参数?我了解apply的工作原理,但我正在寻找一些关于为什么有必要的说明。(function($){//storeoriginalreferencetothemethodvar_old=$.fn.method;$.fn.method=function(arg1,arg2){if(...condition...){re

javascript - 使用 jquery 获取 <ul><li> 结构中的所有 parent

我在HTML中有以下结构,我用它来使用jquery创建树结构。GrandParentParentchild每个li元素旁边都有一个单选按钮(代码中未显示,请假设)。现在,如果从上面的代码中选择值“Child”,那么我应该得到以下结果“祖parent>parent>child”如果我选择parent那么我应该得到“祖parent>parent”所以基本上我想让所有的child都成为parent请告知如何使用jquery获得上述结果第1部分BusinessTopNewEmailandMessagingFinanceMobileOfficeSalesandFieldForceCalculat

javascript - 如何处理 <head> 标签中的 body onload 事件

我在我们的应用程序中使用sitemesh。在装饰器jsp中,我添加了在头部和body标签上:">所以我想处理bodyonload在我的jsp页面上。我添加了以下内容:functioninit(){alert("hi");}但是init()在我的jsp页面中不起作用。 最佳答案 为什么不把它全部粘贴到script元素中呢?比处理元素属性要干净得多:window.onload=function(){alert('hi');};或者,或者,保留init声明:window.onload=init;

javascript - 谷歌图表 : minValue doesn't work with logScale

我正在尝试绘制具有对数刻度的Google条形图。但是,它从1开始,而不是0。这看起来像是错误数据,因为具有一个值的条目在呈现时没有条形。我尝试将minValue设置为零,但当logScale为true时,它似乎不会遵守这一点。甚至可以有一个从零开始的对数刻度吗?这里有一些代码重现了visualizationplayground上的问题:functiondrawVisualization(){//Createandpopulatethedatatable.vardata=newgoogle.visualization.DataTable();data.addColumn('number'

javascript - $ ("#slider_range").slider 不是函数

好的,我已经包含了用于JqueryUI的googleapi库,如下所示:现在我有一个脚本可以更新一些跨度和文档幻灯片上的隐藏输入,而不仅仅是文档准备好:$(document).ready(function(){varslider=$('#slider_range').slider({range:true,min:0,max:5,step:1,values:[0,3],slide:function(event,ui){$('#level').val(ui.values[0]+'-'+ui.values[1]);$('#low').html(ui.values[0]);$('#high')

javascript - 我可以始终使用++ 或 -- 作为 parseFloat 的简写吗?

!!总是可以很好地转换String、undefined、Object和Number类型到JavaScript中的Boolean类型:!!0//false!!1//true!!10//true!!""//true!!"any"//true!!undefined//false!!null//false!!NaN//false!!{}//true似乎使用!!是完全安全的。我见过有人用它来转换变量。但我不确定++或--是否可以将String类型转换为Number类型.在这些示例中,使用++进行转换看起来是安全的:varten="10";ten++//10varnineHalf="9.5";ni